<?php

Yii::import('eventos.models._base.BaseEvento');
Yii::import('escuelas.models.*');
Yii::import('eventos.models.*');
Yii::import('carreras.models.*');


class Evento extends BaseEvento
{
    /**
     * @return Evento
     */
    
    const ESTADO_ACTIVO="ACTIVO";
    
    public static function model($className = __CLASS__)
    {
        return parent::model($className);
    }

    public static function label($n = 1)
    {
        return Yii::t('app', 'Evento|Eventos', $n);
    }
    
    public function getEventosCalendar($carrera_id) {
        $resul = array();

        $command = Yii::app()->db->createCommand()
                ->select("e.id as id,
                        concat('Evento: ',e.nombre) as title,
                        e.fecha_inicio as start, 
                        e.fecha_fin as end
                        
                        ");
        $command->from("evento e");
        $command->Where("e.estado =:estado and carrera_id=:carrera_id", array(':estado' => self::ESTADO_ACTIVO,':carrera_id'=>$carrera_id));
        
        return $command->queryAll();
    }
    
    public function attributeLabels() {
        return array(
                'id' => Yii::t('app', 'Evento'),
                'nombre' => Yii::t('app', 'Nombre'),
                'tipo_evento' => Yii::t('app', 'Tipo Evento'),
                'carrera_id' => Yii::t('app', 'Carrera'),
                'fecha_inicio' => Yii::t('app', 'Fecha Inicio'),
                'fecha_fin' => Yii::t('app', 'Fecha Fin'),
                'horas' => Yii::t('app', 'Horas curso'),
                'horas_minimo' => Yii::t('app', 'Horas mínimo para aprobar'),
//                'control' => Yii::t('app', 'Control'),
                'lugar' => Yii::t('app', 'Lugar'),
                'estado' => Yii::t('app', 'Estado'),
                'observaciones' => Yii::t('app', 'Observaciones'),
                'actividads' => null,
                'tipoEvento' => null,
                'carrera' => null,
                'inscripcions' => null,
        );
    }
    
      public function de_carrera($carrera_id) {
        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => 'carrera_id = :carrera_id',
                    'params' => array(
                        ':carrera_id' => $carrera_id
                    ),
                )
        );
        return $this;
    }
    
//    public function eventoFinalizado(){
//        
//        
//        
//         $fecha_fin = new DateTime(Util::FormatDate($this->fecha_fin, 'Y-m-d 23:59:59'));
//        $datetime2 = new DateTime(Util::FormatDate(Util::FechaActual(), 'Y-m-d'));
//        
//        $interval = $fecha_fin->diff($datetime2);
//        if ($interval->format('%R%') == '-')
//           return false ;
//        else if ($interval->format('%R%') == '+')
//           return true  ;
//        
//       
//    }
    public function eventoFinalizado(){
        
        
        
         $fecha_fin = new DateTime(Util::FormatDate($this->fecha_fin, 'Y-m-d 00:00:00'));
        $datetime2 = new DateTime(Util::FormatDate(Util::FechaActual(), 'Y-m-d'));
       
        
        $interval = $fecha_fin->diff($datetime2);
        
        if ($interval->format('%R%') == '-')
           return false ;
        else if ($interval->format('%R%') == '+')
           return true  ;
        
       
    }
    

}